home *** CD-ROM | disk | FTP | other *** search
/ AOL File Library: 4,401 to 4,500 / aol-file-protocol-4400-4401-to-4500.zip / AOLDLs / PDA-Newton Development / ND+ Dive Program Source & info / diveplan.sit / diveplan / Dive.bas next >
BASIC Source File  |  1994-09-05  |  14KB  |  431 lines

  1. list
  2. 0001 DIM RGD0[25],ASIT[25],MSIT[25],NRGD[25],AMD[25],MMD[25],RNT[25],ABT[25],MBT[
  3. 25],ATBT[25],MTBT[25],RGD[25],DM[25]
  4. 0010 CLS
  5. 0020 LET DivDat={}
  6. 0021 LET z="a"
  7. 0022 LET DivDat.z=z
  8. 0023 LET DivDat.RGD0=RGD0
  9. 0024 LET DivDat.ASIT=ASIT
  10. 0025 LET DivDat.MSIT=MSIT
  11. 0026 LET DivDat.NRGD=NRGD
  12. 0027 LET DivDat.AMD=AMD
  13. 0028 LET DivDat.MMD=MMD
  14. 0029 LET DivDat.RNT=RNT
  15. 0030 LET DivDat.ABT=ABT
  16. 0031 LET DivDat.MBT=MBT
  17. 0033 LET DivDat.MTBT=MTBT
  18. 0034 LET DivDat.RGD=RGD
  19. 0035 LET DivDat.DM=DM
  20. 0050 OPEN cha,"Dives.txt",z
  21. 0051 IF FSTAT=0 THEN GOTO 100
  22. 0052 PRINT "Creating Dive.txt File..."
  23. 0053 CREATE cha,"Dives.txt",z
  24. 0054 OPEN cha,"Dives.txt",z
  25. 0055 LET DivDat.z="a"
  26. 0056 PUT cha,DivDat
  27. 0057 LET DivDat.z="b"
  28. 0058 PUT cha,DivDat
  29. 0059 LET DivDat.z="c"
  30. 0060 PUT cha,DivDat
  31. 0061 LET DivDat.z="x"
  32. 0062 PUT cha,DivDat
  33. 0063 LET DivDat.z="y"
  34. 0064 PUT cha,DivDat
  35. 0065 LET DivDat.z="z"
  36. 0066 PUT cha,DivDat
  37. 0100 LET W0Spec.ViewBounds={top:2,bottom:14,left:4,right:235}
  38. 0101 LET W0Spec.ViewFont={family:'newyork,face:0,size:10}
  39. 0102 LET W0Spec.ViewJustify=2
  40. 0103 WINDOW W0Num,W0Spec
  41. 0104 SHOW W0Num
  42. 0105 LET v="0.6b"
  43. 0106 LET v0="Dive Planner ver"&v&"  R. Van Alstyne"
  44. 0107 WPRINT W0Num,v0
  45. 0110 LET W1Spec.ViewBounds={top:18,bottom:126,left:5,right:135}
  46. 0111 LET W1Spec.ViewFont={family:'newyork,face:0,size:10}
  47. 0112 LET W1Spec.ViewJustify=0
  48. 0113 WINDOW W1Num,W1Spec
  49. 0114 SHOW W1Num
  50. 0120 LET W2Spec.ViewBounds={top:18,bottom:30,left:139,right:176}
  51. 0121 LET W2Spec.ViewFont={family:'geneva,face:0,size:10}
  52. 0122 LET W2Spec.ViewJustify=2
  53. 0123 LET W2Spec.GOTO=0500
  54. 0124 WINDOW W2Num,W2Spec
  55. 0125 SHOW W2Num
  56. 0126 WPRINT W2Num,"RepGro"
  57. 0130 LET W3Spec.ViewBounds={top:18,bottom:30,left:180,right:214}
  58. 0131 LET W3Spec.ViewFont={family:'geneva,face:0,size:10}
  59. 0132 LET W3Spec.ViewJustify=2
  60. 0133 LET W3Spec.GOTO=0550
  61. 0134 WINDOW W3Num,W3Spec
  62. 0135 SHOW W3Num
  63. 0136 WPRINT W3Num,"SurInt"
  64. 0140 LET W4Spec.ViewBounds={top:34,bottom:46,left:139,right:179}
  65. 0141 LET W4Spec.ViewFont={family:'geneva,face:0,size:10}
  66. 0142 LET W4Spec.ViewJustify=2
  67. 0143 LET W4Spec.GOTO=0600
  68. 0144 WINDOW W4Num,W4Spec
  69. 0145 SHOW W4Num
  70. 0146 WPRINT W4Num,"MaxDep"
  71. 0150 LET W5Spec.ViewBounds={top:34,bottom:46,left:183,right:220}
  72. 0151 LET W5Spec.ViewFont={family:'geneva,face:0,size:10}
  73. 0152 LET W5Spec.ViewJustify=2
  74. 0153 LET W5Spec.GOTO=0650
  75. 0154 WINDOW W5Num,W5Spec
  76. 0155 SHOW W5Num
  77. 0156 WPRINT W5Num,"BotTim"
  78. 0160 LET W6Spec.ViewBounds={top:50,bottom:62,left:227,right:234}
  79. 0161 LET W6Spec.ViewFont={family:'geneva,face:0,size:10}
  80. 0162 LET W6Spec.ViewJustify=2
  81. 0163 LET W6Spec.GOTO=0900
  82. 0164 WINDOW W6Num,W6Spec
  83. 0165 SHOW W6Num
  84. 0166 WPRINT W6Num,"="
  85. 0170 LET W7Spec.ViewBounds={top:50,bottom:62,left:139,right:160}
  86. 0171 LET W7Spec.ViewFont={family:'geneva,face:0,size:10}
  87. 0172 LET W7Spec.ViewJustify=2
  88. 0173 LET W7Spec.GOTO=950
  89. 0174 WINDOW W7Num,W7Spec
  90. 0175 SHOW W7Num
  91. 0176 WPRINT W7Num,"Msg"
  92. 0180 LET W8Spec.ViewBounds={top:66,bottom:78,left:139,right:160}
  93. 0181 LET W8Spec.ViewFont={family:'geneva,face:0,size:10}
  94. 0182 LET W8Spec.ViewJustify=2
  95. 0183 LET W8Spec.GOTO=0750
  96. 0184 WINDOW W8Num,W8Spec
  97. 0185 SHOW W8Num
  98. 0186 WPRINT W8Num,"Prv"
  99. 0190 LET W9Spec.ViewBounds={top:66,bottom:78,left:164,right:183}
  100. 0191 LET W9Spec.ViewFont={family:'geneva,face:0,size:10}
  101. 0192 LET W9Spec.ViewJustify=2
  102. 0193 LET W9Spec.GOTO=0752
  103. 0194 WINDOW W9Num,W9Spec
  104. 0195 SHOW W9Num
  105. 0196 WPRINT W9Num,"Nxt"
  106. 0200 LET W10Spec.ViewBounds={top:66,bottom:78,left:187,right:206}
  107. 0201 LET W10Spec.ViewFont={family:'geneva,face:0,size:10}
  108. 0202 LET W10Spec.ViewJustify=2
  109. 0203 LET W10Spec.GOTO=0762
  110. 0204 WINDOW W10NUM,W10Spec
  111. 0205 SHOW W10Num
  112. 0206 WPRINT W10Num,"Cnt"
  113. 0210 LET W11Spec.ViewBounds={top:66,bottom:78,left:210,right:234}
  114. 0211 LET W11Spec.ViewFont={family:'geneva,face:0,size:10}
  115. 0212 LET W11Spec.ViewJustify=2
  116. 0213 LET W10Spec.GOTO=0754
  117. 0214 WINDOW W11Num,W11Spec
  118. 0215 SHOW W11Num
  119. 0216 WPRINT W11Num,"Jmp"
  120. 0220 LET W12Spec.ViewBounds={top:82,bottom:94,left:139,right:152}
  121. 0221 LET W12Spec.ViewFont={family:'geneva,face:0,size:10}
  122. 0222 LET W12Spec.ViewJustify=2
  123. 0223 LET W12Spec.GOTO=0800
  124. 0224 WINDOW W12Num,W12Spec
  125. 0225 SHOW W12Num
  126. 0226 WPRINT W12Num,"Ld"
  127. 0230 LET W13Spec.ViewBounds={top:82,bottom:94,left:156,right:171}
  128. 0231 LET W13Spec.ViewFont={family:'geneva,face:0,size:10}
  129. 0232 LET W13Spec.ViewJustify=2
  130. 0233 LET W13Spec.GOTO=0825
  131. 0234 WINDOW W13Num,W13Spec
  132. 0235 SHOW W13Num
  133. 0236 WPRINT W13Num,"Sv"
  134. 0240 LET W14Spec.ViewBounds={top:82,bottom:94,left:175,right:190}
  135. 0241 LET W14Spec.ViewFont={family:'geneva,face:0,size:10}
  136. 0242 LET W14Spec.ViewJustify=2
  137. 0243 LET W14Spec.GOTO=0850
  138. 0244 WINDOW W14Num,W14Spec
  139. 0245 SHOW W14Num
  140. 0246 WPRINT W14Num,"Tr"
  141. 0290 LET W98Spec.ViewBounds={top:50,bottom:62,left:214,right:223}
  142. 0291 LET W98Spec.ViewFont={family:'geneva,face:0,size:10}
  143. 0292 LET W98Spec.ViewJustify=2
  144. 0293 LET W98Spec.GOTO=1000
  145. 0294 WINDOW W98Num,W98Spec
  146. 0295 rem SHOW W98Num
  147. 0296 rem WPRINT W98Num,"?"
  148. 0300 LET W99Spec.ViewBounds={top:130,bottom:255,left:5,right:234}
  149. 0301 LET W99Spec.ViewFont={family:'newyork,face:0,size:10}
  150. 0302 LET W99Spec.ViewJustify=0
  151. 0303 WINDOW W99Num,W99Spec
  152. 0304 SHOW W99Num
  153. 0400 LET DN=0
  154. 0401 LET RGD0[DN]=0
  155. 0402 LET ASIT[DN]=0
  156. 0403 LET MSIT[DN]=0
  157. 0404 LET NRGD[DN]=0
  158. 0405 LET AMD[DN]=0
  159. 0406 LET MMD[DN]=0
  160. 0407 LET RNT[DN]=0
  161. 0408 LET ABT[DN]=0
  162. 0409 LET MBT[DN]=0
  163. 0410 LET ATBT[DN]=0
  164. 0411 LET MTBT[DN]=0
  165. 0412 LET RGD[DN]=0
  166. 0413 LET DM[DN]=0
  167. 0414 GOTO 0900 //
  168. 0500 LET t=[" ","A","B","C","D","E","F","G","H","I","J","K","L","M"]
  169. 0501 HWINPUT t9$,"Repetative Group",t
  170. 0502 LET t0=-1
  171. 0503 FOR t1=0 TO 13
  172. 0504   IF t9$<>t[t1] THEN GOTO 0507
  173. 0505   LET t0=t1
  174. 0506   LET t1=13
  175. 0507 NEXT t1
  176. 0508 IF t0=-1 THEN GOTO 0501
  177. 0509 LET RGD0[DN]=t0
  178. 0510 IF RGD0[DN]>0 THEN STOP
  179. 0511 LET ASIT[DN]=0
  180. 0512 LET MSIT[DN]=0
  181. 0513 LET NRGD[DN]=0
  182. 0514 STOP
  183. 0550 ON RGD0[DN] GOTO 0551,0553,0555,0557,0559,0561,0563,0565,0567,0569,0571,0573
  184. ,0575
  185. 0551 LET t=["10","721"]
  186. 0552 GOTO 0576
  187. 0553 LET t=["10","200","721"]
  188. 0554 GOTO 0576
  189. 0555 LET t=["10","100","289","721"]
  190. 0556 GOTO 0576
  191. 0557 LET t=["10","70","159","349","721"]
  192. 0558 GOTO 0576
  193. 0559 LET t=["10","55","118","203","393","721"]
  194. 0560 GOTO 0576
  195. 0561 LET t=["10","46","90","149","238","426","721"]
  196. 0562 GOTO 0576
  197. 0563 LET t=["10","41","76","120","179","266","456","721"]
  198. 0564 GOTO 0576
  199. 0565 LET t=["10","37","67","102","144","201","290","480","721"]
  200. 0566 GOTO 0576
  201. 0567 LET t=["10","34","60","90","123","165","224","313","502","721"]
  202. 0568 GOTO 0576
  203. 0569 LET t=["10","32","55","80","108","141","185","243","341","521","721"]
  204. 0570 GOTO 0576
  205. 0571 LET t=["10","29","50","72","96","124","159","202","260","349","539","721"]
  206. 0572 GOTO 0576
  207. 0573 LET t=["10","27","46","65","86","110","140","174","217","276","363","553","7
  208. 21"]
  209. 0574 GOTO 0576
  210. 0575 LET t=["10","26","43","60","79","100","126","155","189","233","290","379","5
  211. 69","721"]
  212. 0576 HWINPUT t9$,"Surface Interval",t
  213. 0577 LET t0=-1
  214. 0578 FOR t1=0 TO RGD0[DN]
  215. 0579   IF STRINGTONUMBER(t9$)>=STRINGTONUMBER(t[t1]) THEN GOTO 0582
  216. 0580   LET t0=t1
  217. 0581   LET t1=RGD0[DN]
  218. 0582 NEXT t1
  219. 0583 IF t0=-1 THEN GOTO 0576
  220. 0584 LET ASIT[DN]=STRINGTONUMBER(t9$)
  221. 0585 LET MSIT[DN]=STRINGTONUMBER(t[t0-1])
  222. 0586 LET NRGD[DN]=RGD0[DN]-t0+1
  223. 0587 STOP
  224. 0600 LET t=["15","20","25","30","35","40","50","60","70","80","90","100","110","1
  225. 20","130"]
  226. 0601 HWINPUT t9$,"Maximum Depth",t
  227. 0602 LET t0=-1
  228. 0603 FOR t1=0 TO 14
  229. 0604   IF STRINGTONUMBER(t9$)>STRINGTONUMBER(t[t1]) THEN GOTO 0607
  230. 0605   LET t0=t1
  231. 0606   LET t1=14
  232. 0607 NEXT t1
  233. 0608 IF t0=-1 THEN GOTO 0601
  234. 0609 LET AMD[DN]=STRINGTONUMBER(t9$)
  235. 0610 LET MMD[DN]=STRINGTONUMBER(t[t0])
  236. 0611 ON t0+1 GOTO 0612,0612,0612,0612,0612,0612,0614,0616,0618,0620,0622,0624,062
  237. 6,0628,0630
  238. 0612 LET t=["0","7","17","25","37","49","61","73","87","101","116","138","161","1
  239. 87"]
  240. 0613 GOTO 0631
  241. 0614 LET t=["0","6","13","21","29","38","47","56","66","76","87","99","111","124"
  242. ]
  243. 0615 GOTO 0631
  244. 0616 LET t=["0","5","11","17","24","30","36","44","52","61","70","79","88","97"]
  245. 0617 GOTO 0631
  246. 0618 LET t=["0","4","9","15","20","26","31","37","43","50","57","64","72","80"]
  247. 0619 GOTO 0631
  248. 0620 LET t=["0","4","8","13","18","23","28","32","38","43","48","54","61","68"]
  249. 0621 GOTO 0631
  250. 0622 LET t=["0","3","7","11","16","20","24","29","33","38","43","47","53","58"]
  251. 0623 GOTO 0631
  252. 0624 LET t=["0","3","7","10","14","18","22","26","30","34","38","43","48","52"]
  253. 0625 GOTO 0631
  254. 0626 LET t=["0","3","6","10","13","16","20","24","27","31","34","38","42","47"]
  255. 0627 GOTO 0631
  256. 0628 LET t=["0","3","6","9","12","15","18","21","25","28","32","35","39","43"]
  257. 0629 GOTO 0631
  258. 0630 LET t=["0","3","6","8","11","13","16","19","22","25","28","31","35","38"]
  259. 0631 LET RNT[DN]=STRINGTONUMBER(t[NRGD[DN]])
  260. 0632 STOP
  261. 0650 LET t=["15","20","25","30","35","40","50","60","70","80","90","100","110","1
  262. 20","130"]
  263. 0651 FOR t0=0 TO 14
  264. 0652   IF MMD[DN]<>STRINGTONUMBER(t[t0]) THEN GOTO 0655
  265. 0653   LET t1=t0
  266. 0654   LET t0=14
  267. 0655 NEXT t0
  268. 0656 ON t1+1 GOTO 0657,0659,0661,0663,0665,0667,0669,0671,0673,0675,0677,0679,068
  269. 1,0683,0685
  270. 0657 LET t=["35","70","110","160","225","350"]
  271. 0658 GOTO 0686
  272. 0659 LET t=["25","50","75","100","135","180","240","325"]
  273. 0660 GOTO 0686
  274. 0661 LET t=["20","35","55","75","100","125","160","195","245","315"]
  275. 0662 GOTO 0686
  276. 0663 LET t=["15","30","45","60","75","90","120","145","170","205","250"]
  277. 0664 GOTO 0686
  278. 0665 LET t=["5","15","25","40","50","60","80","100","120","140","160","190","220"
  279. ]
  280. 0666 GOTO 0686
  281. 0667 LET t=["5","15","25","30","40","50","70","80","100","110","130","150"]
  282. 0668 GOTO 0686
  283. 0669 LET t=["0","10","15","25","30","40","50","60","70","80"]
  284. 0670 GOTO 0686
  285. 0671 LET t=["0","10","15","20","25","30","40","50"]
  286. 0672 GOTO 0686
  287. 0673 LET t=["0","5","10","15","20","30","35","40"]
  288. 0674 GOTO 0686
  289. 0675 LET t=["0","5","10","15","20","25","30"]
  290. 0676 GOTO 0686
  291. 0677 LET t=["0","5","10","12","15","20","25"]
  292. 0678 GOTO 0686
  293. 0679 LET t=["0","5","7","10","15","20"]
  294. 0680 GOTO 0686
  295. 0681 LET t=["0","0","5","10","13"]
  296. 0682 GOTO 0686
  297. 0683 LET t=["0","0","5","10"]
  298. 0684 GOTO 0686
  299. 0685 LET t=["0","0","5"]
  300. 0686 LET t0=[5,7,9,10,12,11,9,7,7,6,6,5,4,3,2]
  301. 0687 FOR t2=0 TO t0[t1]
  302. 0688   LET t[t2]=NUMBERSTR(STRINGTONUMBER(t[t2])-RNT[DN])
  303. 0689 NEXT t2
  304. 0690 HWINPUT t9$,"Bottom Time",t
  305. 0691 LET t2=-1
  306. 0692 FOR t3=0 TO t0[t1]
  307. 0693   IF STRINGTONUMBER(t9$)>STRINGTONUMBER(t[t3]) THEN GOTO 0696
  308. 0694   LET t2=t3
  309. 0695   LET t3=t0[t1]
  310. 0696 NEXT t3
  311. 0697 IF t2=-1 THEN GOTO 0690
  312. 0698 LET ABT[DN]=STRINGTONUMBER(t9$)
  313. 0699 LET MBT[DN]=STRINGTONUMBER(t[t2])
  314. 0700 LET ATBT[DN]=RNT[DN]+ABT[DN]
  315. 0701 LET MTBT[DN]=RNT[DN]+MBT[DN]
  316. 0702 LET RGD[DN]=t2+1
  317. 0703 STOP
  318. 0750 IF DN>0 THEN LET DN=DN-1
  319. 0751 GOTO 0900 //
  320. 0752 IF DN<24 THEN LET DN=DN+1
  321. 0753 GOTO 0900 //
  322. 0754 HWINPUT t9$,"Enter jump",["Forward 10","Forward 5","Backward 5","Backward 10
  323. "]
  324. 0755 IF t9$="Forward 10" THEN LET DN=DN+10
  325. 0756 IF t9$="Forward 5" THEN LET DN=DN+5
  326. 0757 IF t9$="Backward 5" THEN LET DN=DN-5
  327. 0758 IF t9$="Backward 10" THEN LET DN=DN-10
  328. 0759 IF DN>24 THEN DN=24
  329. 0760 IF DN<0 THEN DN=0
  330. 0761 GOTO 0900 //
  331. 0762 IF DN>0 THEN LET RGD0[DN]=RGD[DN-1]
  332. 0763 STOP
  333. 0800 HWINPUT z,"Dive group",["a","b","c","x","y","z"]
  334. 0801 LET DivDat.z=z
  335. 0802 OPEN cha,"Dives.txt",z
  336. 0803 IF FSTAT<>0 THEN STOP
  337. 0804 GET cha,DivDat
  338. 0805 IF FSTAT<>0 THEN STOP
  339. 0806 LET RGD0=DivDat.RGD0
  340. 0807 LET ASIT=DivDat.ASIT
  341. 0808 LET MSIT=DivDat.MSIT
  342. 0809 LET NRGD=DivDat.NRGD
  343. 0810 LET AMD=DivDat.AMD
  344. 0811 LET MMD=DivDat.MMD
  345. 0812 LET RNT=DivDat.RNT
  346. 0813 LET ABT=DivDat.ABT
  347. 0814 LET MBT=DivDat.MBT
  348. 0815 LET ATBT=DivDat.ATBT
  349. 0816 LET MTBT=DivDat.MTBT
  350. 0817 LET RGD=DivDat.RGD
  351. 0818 LET DM=DivDat.DM
  352. 0819 GOTO 0900 //
  353. 0825 HWINPUT z,"Dive group",["a","b","c","x","y","z"]
  354. 0826 LET DivDat.z=z
  355. 0827 OPEN cha,"Dives.txt",z
  356. 0828 LET DivDat.ATBT=ATBT
  357. 0829 LET DivDat.RGD0=RGD0
  358. 0830 LET DivDat.ASIT=ASIT
  359. 0831 LET DivDat.MSIT=MSIT
  360. 0832 LET DivDat.NRGD=NRGD
  361. 0833 LET DivDat.AMD=AMD
  362. 0834 LET DivDat.MMD=MMD
  363. 0835 LET DivDat.RNT=RNT
  364. 0836 LET DivDat.ABT=ABT
  365. 0837 LET DivDat.MBT=MBT
  366. 0838 LET DivDat.ATBT=ATBT
  367. 0839 LET DivDat.MTBT=MTBT
  368. 0840 LET DivDat.RGD=RGD
  369. 0841 LET DivDat.DM=DM
  370. 0842 PUT cha,DivDat
  371. 0843 IF FSTAT<>0 THEN STOP
  372. 0844 BEEP
  373. 0845 BEEP
  374. 0846 STOP
  375. 0850 LET n0="Dive#"&DN&chr(13)
  376. 0851 IF RGD0[DN]<>0 THEN LET n0=n0&"Repetative Group Designation="&chr(64+RGD0[DN
  377. ])&chr(13)
  378. 0852 IF RGD0[DN]<>0 THEN LET n0=n0&"Surface Interval Time="&ASIT[DN]&chr(13)
  379. 0853 LET n0=n0&"Maximum Depth="&AMD[DN]&chr(13)
  380. 0854 IF RGD0[DN]<>0 THEN LET n0=n0&"Residual NitrogenTime="&RNT[DN]&chr(13)
  381. 0855 LET n0=n0&"Bottom Time="&ABT[DN]&chr(13)
  382. 0856 IF RGD0[DN]<>0 THEN LET n0=n0&"Total Bottom Time="&ATBT[DN]&chr(13)
  383. 0857 LET n0=n0&"Repetative Group Designation="&chr(64+RGD[DN])
  384. 0858 WPRINT W99Num,n0
  385. 0859 STOP
  386. 0900 REM
  387. 0901 LET DivSpe="Dive #"&DN&":"&chr(13)
  388. 0902 LET DivSpe=DivSpe&" RepGroDes="
  389. 0903 IF RGD0[DN]<>0 THEN LET DivSpe=DivSpe&chr(64+RGD0[DN])
  390. 0904 LET DivSpe=DivSpe&chr(13)
  391. 0905 LET DivSpe=DivSpe&" SurIntTim="&ASIT[DN]&"  ("&MSIT[DN]&")"
  392. 0906 LET DivSpe=DivSpe&chr(13)
  393. 0907 LET DivSpe=DivSpe&" NewResGroDes="
  394. 0908 IF NRGD[DN]<>0 THEN LET DivSpe=DivSpe&chr(64+NRGD[DN])
  395. 0909 LET DivSpe=DivSpe&chr(13)
  396. 0910 LET DivSpE=DivSpe&" MaxDep="&AMD[DN]&"  ("&MMD[DN]&")"
  397. 0911 LET DivSpe=DivSpe&chr(13)
  398. 0912 LET DivSpe=DivSpe&" ResNitTim="&RNT[DN]
  399. 0913 LET DivSpe=DivSpe&chr(13)
  400. 0914 LET DivSpe=DivSpe&" BotTim="&ABT[DN]&"  ("&MBT[DN]&")"
  401. 0915 LET DivSpe=DivSpe&chr(13)
  402. 0916 LET DivSpe=DivSpe&" TotBotTim="&ATBT[DN]&"  ("&MTBT[DN]&")"
  403. 0917 LET DivSpe=DivSpe&chr(13)
  404. 0918 LET DivSpe=DivSpe&" ResGroDes="
  405. 0919 IF RGD[DN]<>0 THEN LET DivSpe=DivSpe&chr(64+RGD[DN])
  406. 0920 WPRINT W1Num,DivSpe
  407. 0921 IF DM[DN]<>0 THEN WPRINT W99Num,DM[DN]
  408. 0922 STOP
  409. 0950 HWINPUT DM1,"Date"
  410. 0951 HWINPUT DM2,"Location"
  411. 0952 HWINPUT DM3,"Entry",["Boat","Shore"]
  412. 0953 IF DM3="Boat" THEN HWINPUT DM30,"Boat"
  413. 0954 HWINPUT DM4,"Goal",["Wreck","Reef"]
  414. 0955 IF DM4="Wreck" THEN HWINPUT DM40,"Wreck"
  415. 0956 HWINPUT DM5,"Surface conditions",["Good","Fair","Poor"]
  416. 0957 HWINPUT DM6,"Visibility",["Good","Fair","Poor"]
  417. 0958 HWINPUT DM7,"Comments"
  418. 0959 LET DivMsg="On "&DM1&" I dove at "&DM2&"."&chr(13)
  419. 0960 LET DivMsg=DivMsg&"I made a "&DM3&" dive "
  420. 0961 IF DM3="Boat" THEN LET DivMsg=DivMsg&"from the "&DM30&" "
  421. 0962 LET DivMsg=DivMsg&"on a "&DM4
  422. 0963 IF DM4="Wreck" THEN LET DivMsg=DivMsg&" called the "&DM40
  423. 0964 LET DivMsg=DivMsg&".  Surface conditions were "&DM5&", and visibility was "&
  424. DM6&"."
  425. 0965 IF DM7<>"" THEN LET DivMsg=DivMsg&chr(13)&"In addition, "&DM7
  426. 0966 LET DM[DN]=DivMsg
  427. 0967 WPRINT W99Num,DivMsg
  428. 0968 STOP
  429. 1000 rem help
  430. 1999 STOP